package com.example.network.exception;

//全局异常处理器

import com.example.network.common.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

@Slf4j
@RestControllerAdvice
public class ExceptionHandle {
    // 用于捕获和处理ServiceException类型的异常。如果程序中抛出了ServiceException，这个方法将会被调用
    @ExceptionHandler(value = ServiceException.class)
    public Result serviceExceptionError(ServiceException e) {
        log.error("业务异常", e);
        return Result.error(e.getMessage());
    }
    // 用于捕获Exception类型的异常，这基本上意味着它可以捕获大多数运行时异常。当抛出的异常不是ServiceException时，这个方法将会被调用
    @ExceptionHandler(value = Exception.class)
    public Result exceptionError(Exception e){
        log.error("系统错误",e);
        return Result.error("系统错误");
    }
}